package com.wzcl.app.service;

import com.wzcl.app.dao.model.Activity;
import com.wzcl.app.dao.model.AppUser;
import com.wzcl.app.model.common.MyPage;
import com.wzcl.app.model.dto.ActivityDto;
import com.wzcl.app.service.common.activity.ActivityPromotionFactory;

import java.util.List;
import java.util.Map;

public interface ActivityService extends BaseService<Activity,ActivityDto>{

    Activity addActivity(ActivityDto activityDto);

    Activity delActivityById(Integer id);

    Activity updateActivity(ActivityDto activityDto);

    Activity getActivityById(Integer id);

    ActivityPromotionFactory getFactoryByType(Integer type);

    List<Activity> getActivityById(List<Integer> ids);

    List<Activity> getActivityList(ActivityDto activityDto);

    MyPage<Activity> getActivityPage(ActivityDto activityDto);

    void publishActivity(ActivityDto activityDto);

    Boolean checkActivity(AppUser user, Activity activity, Map<String, Object> data);

    boolean checkSign(String commodityId, String activityId, String sign);
}
